package cn.jc.pachong;

import java.util.List;

public class pachong {
	/**
	* 从给定的url获取html内容
	* 最好考虑以后是否能支持ajax后获取的数据（有待发掘）
	*
	* @param string $url
	* @return string
	*/
	public static String getContentFromUrl(String url){
		return "";
	}
	/**
	* 从html内容中筛选链接
	*
	* @param string $web_content
	* @return array
	*/
	public static List<String> _filterUrl(String web_content){
		return null;
	}

	/**
	 * 初始化计数器等操作
	 * insertUrl('http://www.mumayi.com/');
	 */
	public static void init(){
		
	}
	//只针对符合条件的URl来处理
	public static void main(String[] args){
		System.out.println("一次处理开始......");
		//初始化计数器
		//过滤2URL如果不是指定的丢弃
//		if (!isDetailUrl($url)) {//比如，如果不是详情页的URL丢弃，不往下处理
////			continue;
//			return;
//		}
//		while (StringUtils.isNotBlank($url) && !isQuit()){
//		}
		//拿URLlist
//		List<String> $url_list_0 = _filterUrl($content);
//		for (String $urltmp : $url_list_0) {
//			//将相对地址改为绝对地址再往下操作
//			if (isTestUrl($urltmp)) {
//				$urltmp = "http://www.mumayi.com"+$urltmp;
//			}
//			//过滤1入队列
//			if (!isThisSiteUrl($urltmp)) {//比如，如果不是本站URL丢弃，不往下处理
//				continue;
//			}
//			insertUrl_kvdb($urltmp);
//		}
		//拿URl
//		String $url = getUrl_kvdb();//队列里取url
		String $url = "http://www.mumayi.com";//队列里取url
		String $content = getContentFromUrl($url);
		anaUrl($content );
		Item $item = getItem($content );
		if ($item == null) {
			return;
		}
		$item.setProvider("mumayi");
		$item.setView_url($url);
//			$item.setAppid(substr($url,30,strlen($url) - 35));
//			$item.setDownload_num(_getUrlContent(("http://www.mumayi.com/plus/disdls.php?aid=".$item->appid)));
		//处理成功，取出元素，将其入分析成功的队列1	稍后处理
//			$item->times=$c->get('times');
		//对象入库
		insertItem($item);
		//处理失败，取出元素，将其入分析失败的队列2	稍后处理
		System.out.println("一次处理结束......");
	}
	/**
	 * 处理URL
	 * @param $content
	 * @author JiangChi
	 */
	private static void anaUrl(String $content) {
		// TODO Auto-generated method stub
		
	}
	/**
	 * @param url
	 * @return
	 * @author JiangChi
	 */
	public static boolean isTestUrl(String url) {
//		return preg_match_all('/^\/.*$/',$url,$match_result) >= 1;
		return false;
	}
	public static boolean isThisSiteUrl(String url) {
//		$reg_tag_a = '/http:\/\/www\.mumayi\.com\/.*$/';
//		$result = preg_match_all($reg_tag_a,$url,$match_result);
//		return $result >= 1;
		return false;
	}
	public static boolean isDetailUrl(String url) {
//		$reg_tag_b = '/http:\/\/www\.mumayi\.com\/android-\d*?\.html/';
//		$result = preg_match_all($reg_tag_b,$url,$match_result);
//		return $result >= 1;
		return false;
	}
	/**
	 * 判断退出条件
	 */
	public static boolean isQuit () {
		return false;
	}
	/**
	 * 判断队列是否为空kvdb实现
	 */
	public static boolean isNotEmpey_kvdb () {
//		$datacount = countkvdb('q1');
//		if ($datacount <= 0) {
//			try{
//		        $c = new SaeCounter;
//		        $c->incr('times');
//		    }catch(Exception $ex){
//		        die($ex->getMessage());
//	    	}
//	    	//send email or short message
//		}
//		return $datacount >= 1;
		return false;
	}
	/**
	 * 拿到URL，从队列里拿第一个kvdb实现
	 */
	public static String getUrl_kvdb () {
//		$q = new kvqueue();
//		$resultString = $q -> getQueue();
//		$q ->putQueue_2($resultString);
//		return $resultString;
		return null;
	}
	/**
	 * 将URL插入队列 kvdb实现
	 */
	public static String insertUrl_kvdb (String url) {
//		$q = new kvqueue();
//		$q -> putQueue($url);
		return null;
	}
	/**
	 * 将对象插入到数据库
	 * 
	 */
	public static String insertItem (Item item) {
		//TODO
		return null;
	}
	/**
	 * 分析，拿到对象，处理数据
	 * @param content
	 * @return
	 * @author JiangChi
	 */
	public static Item getItem (String content) {
//		$item = new Item();
//		$appname = getItemName($content);
//		$size = getItemSize($content);
//		$description=getItemDescription($content);
//		$img_url=getImgUrl($content);
//		if (!$appname) {
//			return false;
//		}
//		$item->appname=$appname;
//		$item->size=$size;
//		$item->description=$description;
//		$item->img_url=$img_url;
//		return $item;
		return null;
	}
	public static String getImgUrl (String content) {
//		$reg_tag_a = "/class=\"img3.*?<span/";
//		$result = preg_match_all($reg_tag_a,$content,$match_result);
//		$temp0 = $match_result[0][0];
//		preg_match_all("/<img.*?>/",$temp0,$match_result0);
//		$temp1 = $match_result0[0][0];
//		preg_match_all("/src=\'.*?\'/",$temp1,$match_result1);
//		$temp2 = $match_result1[0][0];
//		$temp3 = substr($temp2,5,strlen($temp2) - 6);
//		return $temp3;
		return null;
	}
	/**
	 * 获得软件描述，针对木蚂蚁市场详细页面
	 */
	public static String getItemDescription (String content) {
//		$reg_tag_a = '/<h2 class="infosoft">软件简介<\W?h2>\s+<p>.*?<\W?p>/';
//		$result = preg_match_all($reg_tag_a,$content,$match_result);
//		$temp0 = $match_result[0][0];
//		preg_match_all('/<p>.*<\W?p>/',$temp0,$match_result0);
//		$temp1 = $match_result0[0][0];
//		preg_match_all('/>.*?</',$temp1,$match_result1);
//		$temp2 = $match_result1[0][0];
//		$temp3 = substr($temp2,1,strlen($temp2) - 2);
//		return $temp3;
		return null;
	}

	/**
	 * 获得软件大小，针对木蚂蚁市场详细页面
	 */
	public static String getItemSize (String content) {
//		$reg_tag_a = '/<em class="titl">软件大小：<\W?em>\s+<em class="titr">.*?em>/';
//		$result = preg_match_all($reg_tag_a,$content,$match_result);
//		$temp0 = $match_result[0][0];
//		preg_match_all('/<em class="titr">.*?em>/',$temp0,$match_result0);
//		$temp1 = $match_result0[0][0];
//		preg_match_all('/>.*?</',$temp1,$match_result1);
//		$temp2 = $match_result1[0][0];
//		$temp3 = substr($temp2,1,strlen($temp2) - 2);
//		return $temp3;
		return null;
	}
	/**
	 * 获得软件名称，针对木蚂蚁市场详细页面
	 */
	public static String getItemName(String content) {
//		$reg_tag_a = '/<h1 class="text1" id="titleInner">.*?h1>/';
//		$result = preg_match_all($reg_tag_a,$content,$match_result);
//		$temp0 = $match_result[0][0];
//		preg_match_all('/>.*?</',$temp0,$match_result0);
//		$temp1 = $match_result0[0][0];
//		$temp3 = substr($temp1,1,strlen($temp1) - 2);
//		return $temp3;
		return null;
	}
}

class Item {
	private String appid;
	private String appname;
	private String size;
	private String description;
	private String provider;
	private String view_url;
	private String img_url;
	private String download_num;
	private String times;
	public String getAppid() {
		return appid;
	}
	public void setAppid(String appid) {
		this.appid = appid;
	}
	public String getAppname() {
		return appname;
	}
	public void setAppname(String appname) {
		this.appname = appname;
	}
	public String getSize() {
		return size;
	}
	public void setSize(String size) {
		this.size = size;
	}
	public String getDescription() {
		return description;
	}
	public void setDescription(String description) {
		this.description = description;
	}
	public String getProvider() {
		return provider;
	}
	public void setProvider(String provider) {
		this.provider = provider;
	}
	public String getView_url() {
		return view_url;
	}
	public void setView_url(String view_url) {
		this.view_url = view_url;
	}
	public String getImg_url() {
		return img_url;
	}
	public void setImg_url(String img_url) {
		this.img_url = img_url;
	}
	public String getDownload_num() {
		return download_num;
	}
	public void setDownload_num(String download_num) {
		this.download_num = download_num;
	}
	public String getTimes() {
		return times;
	}
	public void setTimes(String times) {
		this.times = times;
	}
}
